<?php
 	include_once("../config.php");
 	include_once("../utils.php");
 	include(ROOT_DIR_CLASES.'/cCliente.php');
 	include(ROOT_DIR_CLASES.'/cConfiguracion.php');
   	$fechai 		= $_REQUEST['fechaIni'];
   	$fechaf 		= $_REQUEST['fechaFin'];
   	$reporteId 		= $_REQUEST['reporteId'];
   	$listaCuentas 	= $_REQUEST['listaCuentas'];
   	$idRandom	 	= $_REQUEST['idRandom'];
   	$vColumnas	= array();
	if(!isset($_REQUEST['pag'])){
   		$pag 	= 1;
   	}else{
   	   	$pag 	= $_REQUEST['pag'];
   	}
   	$reg_actual	= (($pag-1)*RESULTADO_HISTORICO_AVL);
    $limit  	= RESULTADO_HISTORICO_AVL;

    $listaColumnasDin = cConfiguracion::getColumnasDinamicas();
    $vColumnas = array();
   	if($reporteId != null && $reporteId != ""){
	    $oReporte 	= cConfiguracion::getReporteById($reporteId);
	    if($oReporte->cantidad() > 0){//Verifica que tenga guardada la configuracion
			$columnasDin= $oReporte->campo('columnas_din', 0);
	  		if($columnasDin!=null){
				$vColumnas 	= explode(",",$columnasDin);
			}
			$detalleReporte = $oReporte->campo('detalleReporte', 0);
			//$cantidadDias 	= $oReporte->campo('cantidad_dias', 0);
			$excesoVelocidad= $oReporte->campo('excesoVelocidad', 0);
	    }
//	  	if($cantidadDias>0){//si tengo configurado la cantidad de dias de reporte le resto la cantidad de dias a la fecha final
//	   		$fechai = date("Y-m-d H:i:s", strtotime("$fechaf -$cantidadDias day"));
//	    }
   	}

  	if($detalleReporte==1){
  		$consulta 	= BykomCliente::detalleRecorrido($listaCuentas,$fechai,$fechaf,"","");
  	}else{
  		$consulta 	= BykomCliente::detalleRecorrido($listaCuentas,$fechai,$fechaf,$reg_actual,$limit);
  	}
	$cant_reg	= $consulta->cantidad();
?>
	<table class="reportAVL" border="0" cellspacing="0" cellpadding="0">
  	 <thead  >
  	 <?php 	if($detalleReporte==1){ ?>
  		<tr>
			<th>Flota</th>
			<th>M&oacute;vil</th>
			<th>Distancia</th>
			<th>Velocidad M&aacute;xima</th>
			<th>Velocidad Promedio</th>
			<th>Caudal&iacute;metro</th>
			<th>Tiempo en marcha</th>
			<?php if(!isset($_GET["popup"])){?>
			<th>&nbsp;</th>
			<?php }?>
  		</tr>
  	<?php }else{?>
  		<tr>
  			<th>Mapear</th>
  			<th>Flota</th>
			<th>M&oacute;vil</th>
			<th>Fecha</th>
			<th>Ubicaci&oacute;n Aproximada</th>
			<th>Velocidad</th>
			<th>Sentido</th>
			<!--OPCIONALES-->
			<?php
  			foreach($vColumnas as $col){
				 echo "<th>".$listaColumnasDin->campo('columna',$col-1)."</th>";
			}
  			if($excesoVelocidad!=""){
				echo "<th>Exceso de velocidad</th>";
			}
			?>
		</tr>
  	<?php }?>
  	</thead>
  	<tbody >
  		<?php
  		if($detalleReporte==1){
	  		$movilId = -1;
	  		for($i=0;$i < $consulta->cantidad(); $i++){
	  			if ($consulta->campo('movil',$i) != $movilId) {
	  				$objMovil 		= new stdClass();
	  				$ultimoObjMovil = $objMovil;
	  				$movilId 		= $consulta->campo('movil',$i);
	  				$objMovil->movil= $movilId;
	  				$objMovil->flota= $consulta->campo('nombreFlota',$i);
					$nombreMix 		= $consulta->campo('nombre',$i);
					if($consulta->campo('nombreDos',$i)!=""){
						$nombreMix .= ", ".$consulta->campo('nombreDos',$i);
					}
					$objMovil->nombreMovil		= $nombreMix;
					$objMovil->velocidadPromedio= 0;
					$objMovil->velocidadMax 	= 0;
					$objMovil->distanciaTotal 	= 0;
					$objMovil->cantidadConsumo 	= 0;
					$objMovil->tiempoEnMarcha 	= 0;
					$listaMoviles[] 			= $objMovil;
	  			}
	  			$ultimoObjMovil->listaPuntos[] = $consulta->getRegistro($i);

	  		}

			foreach($listaMoviles as $movil){
				if (count($movil->listaPuntos) < 2) continue;
				$velocidadTot 	= 0;
				$velocidadMax 	= 0;
				$contador 		= 0;
				$consumoInicial	= null;
				$consumoFinal	= null;
				$tiempoMarchaInicial = null;
				$tiempoMarchaFinal = null;
				$listadoPuntos = $movil->listaPuntos;
				foreach($listadoPuntos as $punto){
					//Caudalimetro
					if($consumoInicial == null && $punto->consumoTotal != null) {
							$consumoInicial	= $punto->consumoTotal;
					}
					if($consumoInicial != null && $punto->consumoTotal != null) {
							$consumoFinal = $punto->consumoTotal;
					}
					//Tiempo en Marcha
					if($tiempoMarchaInicial == null && $punto->tiempoEnMarcha != null) {
							$tiempoMarchaInicial	= $punto->tiempoEnMarcha;
					}
					if($tiempoMarchaInicial != null && $punto->tiempoEnMarcha != null) {
							$tiempoMarchaFinal	= $punto->tiempoEnMarcha;
					}
					$velocidadTot += $punto->velocidad;
					if($punto->velocidad != 0){
						$contador++;
					}
					if($velocidadMax<=$punto->velocidad){
						$velocidadMax = $punto->velocidad;
					}
				}
				$distanciaTotal = BykomCliente::CalculaDistanciaTotal($listadoPuntos);
			   	$distanciaTotal	= distanciaFormat($distanciaTotal);
			   	$movil->distanciaTotal 	= $distanciaTotal;
				if($consumoFinal != null && $consumoInicial!=null){
					$valor1 = $consumoFinal - $consumoInicial;
				} else {
					$valor1 = 0;
				}
				$cantidadConsumoValor = round($valor1 ,2);
				$cantidadConsumo = $cantidadConsumoValor . " Lts.";
				if($tiempoMarchaFinal != null && $tiempoMarchaInicial!=null){
					$valor3 = $tiempoMarchaFinal - $tiempoMarchaInicial;
				} else {
					$valor3 = 0;
				}
				$tiempoEnMarcha = round($valor3, 0);
				$tiempoEnMarcha = timePassed($tiempoEnMarcha);
				$movil->velocidadPromedio= number_format($velocidadTot/$contador,2);
				$movil->velocidadMax 	= $velocidadMax;
				$movil->cantidadConsumo 	= $cantidadConsumo;
				$movil->distanciaTotal 	= $distanciaTotal;
				$movil->tiempoEnMarcha 	= $tiempoEnMarcha;

			}
			if($consulta->cantidad()>0){
				foreach($listaMoviles as $movil){
					echo "<tr>";
				  	echo "<td>".$movil->flota."</td>";
			  		echo "<td>".$movil->nombreMovil."</td>";
			  		echo "<td>".$movil->distanciaTotal."</td>";
			  		echo "<td>".$movil->velocidadMax."</td>";
			  		echo "<td>".$movil->velocidadPromedio."</td>";
			  		echo "<td>".$movil->cantidadConsumo."</td>";
			  		echo "<td>".$movil->tiempoEnMarcha."</td>";
			  		if(!isset($_GET["popup"])){
		  				echo "<td><a href='javascript:;' onclick='verDetalle($movil->movil,\"$movil->flota\",\"$movil->nombreMovil\",\"$movil->distanciaTotal\",\"$movil->velocidadMax\",\"$movil->velocidadPromedio\",\"$movil->cantidadConsumo\",\"$movil->tiempoEnMarcha\");' style='color:#000000;'>Detalle</a></td>";
			  		}
		  			echo "</tr>";
		  		}
				?>
				 <script language="JavaScript">
					document.getElementById("recordsCount"+"<?=$idRandom?>").innerHTML =  <?php echo count($listaMoviles);?> + " registros listados";
				 </script>
				<?php
			}
  		}else{
			for($i=0;$i<$consulta->cantidad(); $i++){
				echo "<tr>";
				if(!isset($_GET["popup"])){
		  			echo "<td><a style='color: #000000;' onclick='verEventoMonitorEnMapa(\"$nombreMix $aproximacion \", \"$latitud\",\"$longitud\");' href='javascript:;'>
		  			<img src='images/viewinmapIcon.gif' alt='Ver en mapa' border='0'/>
		  			</a></td>";
		  		}else{
		  			echo "<td><a style='color: #000000;' onclick='verEnMapa(\"$nombreMix $aproximacion \", \"$latitud\",\"$longitud\");' href='javascript:;'>
		  			<img src='images/viewinmapIcon.gif' alt='Ver en mapa' border='0'/>
		  			</a></td>";
		  		}
				$flota = $consulta->campo('nombreFlota',$i);
				echo "<td>".$flota."</td>";
				$nombreMix = $consulta->campo('nombre',$i);
				if($consulta->campo('nombreDos',$i)!=""){
					$nombreMix .= ", ".$consulta->campo('nombreDos',$i);
				}
			  	echo "<td>".$nombreMix."</td>";
			  	$fecha  = $consulta->campo('fechaMensaje',$i);
			  	echo "<td>". $consulta->getFechaDecorada($fecha)."</td>";
			  	$aproximacion = BykomCliente::Obtener_Direccion_Abreviada($consulta->campo('aproximacion',$i));
			  	echo "<td style='text-align:left;'>".$aproximacion."</td>";
			  	echo "<td>".(int)$consulta->campo('velocidad',$i)."</td>";
			  	echo "<td>".$consulta->campo('sentido',$i)."</td>";

	  			$consumoTotal 	=  $consulta->campo('consumoTotal',$i);
	  			$consumoActual 	=  $consulta->campo('consumoActual',$i);
	  			$latitud	 	=  $consulta->campo('lat',$i);
	  			$longitud	 	=  $consulta->campo('lon',$i);
	  			$eventoNro	 	=  $consulta->campo('evento',$i);
	  			$eventoCodigo 	=  valorSinNull($consulta->campo('eventoCodigo',$i));
	  			$eventoNombre 	=  valorSinNull($consulta->campo('eventoNombre',$i));

	  			$tiempoEnMarcha	= "";
	  			if($consulta->campo('tiempoEnMarcha',$i)!=""){
	  				$tiempoEnMarcha	=  timePassed($consulta->campo('tiempoEnMarcha',$i));
	  			}
		  		$tempMotor = $consulta->campo('tempMotor',$i);
		  		$tempCarga = $consulta->campo('tempCarga',$i);

				$odometroTotal 	= $consulta->campo('odometroTotal',$i);

				$alimentacion 	= ($consulta->campo('alimentacion',$i)==1) ? "Conectada" : "Desconectada";
				$contactoMotor 	= ( $consulta->campo('contactoMotor',$i) == 1 ) ? "on":"off";
				$conexionCaudalimetro 	= ( $consulta->campo('conexionCaudalimetro',$i) == 1 ) ? "Conectado":"Desconectado";

				if(!empty($vColumnas)){
					foreach($vColumnas as $col){
						switch($col){
							case 1: $valor= $contactoMotor;
								break;
							case 2: $valor= $odometroTotal;
								break;
							case 3: $valor= $alimentacion;
								break;
							case 4: $valor= $consumoActual;
								break;
							case 5: $valor= $latitud;
								break;
							case 6: $valor= $longitud;
								break;
							case 7: $valor= $tempMotor;
								break;
							case 8: $valor= $tempCarga;
								break;
							case 9: $valor= $eventoNro;
								break;
							case 10: $valor= $eventoCodigo;
								break;
							case 11: $valor= $eventoNombre;
								break;
							case 12: $valor= $conexionCaudalimetro;
								break;
						}
						echo "<td>".$valor."</td>";
					}
				}
				if($excesoVelocidad!=""){
		  			if((int)$excesoVelocidad <(int)$consulta->campo('velocidad',$i)){
		  				echo "<td style='color:red;'> Si </td>";
		  			}else{
		  				echo "<td> No </td>";
		  			}
		  		}
		  		echo "</tr>";
			}
  		}
  		?>
  		</tbody>
  	</table>